Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 USA F5 USA F7 USA F10 Serbia F4 Serbia F5 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F12 Usa F13 Usa F14 Usa F15 Usa F18 Spain F28 Germany F17b Usa F5 Usa F7 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Poland F5 Morocco F4 Morocco F5 Hungary F2 USA F10 USA F11 Spain F30 Usa F15 Brazil F22 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 USA F7 Italy F9 Italy F12 Italy F13 Brazil F26 Brazil F33 Turkey F8 Turkey F9 Israel F1 Israel F2 Italy F5 (Santa Margherita Di Pula) M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo Naples Challenger - Naples 2007 Knoxville Challenger - Knoxville M25 Quinta Do Lago Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas Tallahassee Tennis Challenger - Tallahassee Baton Rouge Pro Tennis Classic - Baton Rouge Roma Open Challenger - Rome Hurricane Tennis Open - Bradenton San Remo Tennis Cup - San Remo Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Fifth Third Bank Tennis Championships - Lexington Levene Gouldin & Thompson Tennis Challenger - Binghamton Semgroup Challenger - Tulsa 2008 Lubbock Challenger - Lubbock Sacramento Challenger - Sacramento The Mercedes Benz of Calabasas - Calabasas M25 Figueira da Foz M25 Reus Music City Challenger - Nashville National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana 2008 Knoxville Challenger - Knoxville Challenger Britania Zavaleta - Puebla M25 Mataro Abierto Internacional Varonil Ciudad de Cancun - Cancun Salinas Challenger Bucaramanga Challenger Belgrade Challenger Bangkok Challenger M25 Porto Open 13 - Marseille US Men's Clay Court Championship - Houston M25 Vila Real de Santo Antonio M25 Quinta do Lago Sarasota Challenger M25 Vale do Lobo San Sebastian Challenger Banja Luka Challenger Ljubljana Challenger Santiago Challenger Guayaquil Challenger Salinas Challenger Honolulu Challenger Bergamo Challenger Sunrise Challenger Tunis Challenger Ostrava Challenger Kosice Challenger Arad Challenger Rimini Challenger Lexington Challenger Cordenons Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Banja Luka Challenger Belo Horizonte Challenger Trnava Challenger Montevideo Challenger Napoli Challenger Buenos Aires Challenger Asuncion Challenger Rennes Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Recife Challenger Prague Challenger Bordeaux Challenger Milan Challenger Campos do Jordao Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Le Gosier Challenger Dallas Challenger Barletta Challenger Blumenau Challenger Rome Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Kosice Challenger Marburg Challenger Milan Challenger Arad Challenger Timisoara Challenger Tampere Challenger Todi Challenger Campinas Challenger Madrid Challenger Rennes Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Quimper Challenger Cherbourg Challenger Itajai Challenger Rome Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Samarkand Challenger Kosice Challenger Milan Challenger Braunschweig Challenger Poznan Challenger Liberec Challenger San Marino Challenger Trnava Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Montevideo Challenger Casablanca Challenger Bogota Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Quimper Challenger Astana Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sarasota Challenger Sao Paulo Challenger Savannah Challenger Santos Challenger Aix En Provence Challenger Vicenza Challenger Furth Challenger Nottingham-2 Challenger Blois Challenger Marburg Challenger Braunschweig Challenger Scheveningen Challenger Tampere Challenger Cortina Challenger San Marino Challenger Izmir Challenger Porto Alegre Challenger Geneva Challenger Charlottesville Challenger Bratislava Challenger Knoxville Challenger Brescia Challenger Champaign Challenger Bucaramanga Challenger Dallas Challenger Santo Domingo Challenger Irving Challenger Le Gosier Challenger Napoli Challenger Sarasota Challenger Mersin Challenger Savannah Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Cortina Challenger Aptos Challenger Prague Challenger Vancouver Challenger Cordenons Challenger Sao Paulo Challenger Como Challenger Meknes Challenger Szczecin Challenger Campinas Challenger Rome Challenger Porto Alegre Challenger Talahassee Challenger Sao Paulo Challenger Rennes Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Buenos Aires Challenger Montevideo Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Cherbourg Challenger Jonkoping Challenger Guangzhou Challenger Kazan Challenger Shenzhen Challenger Napoli Challenger Barletta Challenger Turin Challenger Medellin Challenger Rome Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Milan Challenger Braunschweig Challenger Cordenons Challenger Manerbio Challenger Como Challenger Scheveningen Challenger Lima Challenger Guayaquil Challenger Lima Challenger Koblenz Challenger Cherbourg Challenger Bergamo Challenger Sophia Antipolis Challenger Barletta Challenger Francavilla Challenger Ostrava Challenger Heilbronn Challenger Vicenza Challenger Lisbon Challenger Todi Challenger Marburg Challenger Braunschweig Challenger Bastad Challenger Scheveningen Challenger Biella Challenger Floridablanca Challenger Portoroz Challenger Santo Domingo Challenger Como Challenger Seville Challenger Rome Challenger Almaty Challenger Campinas Challenger Buenos Aires Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Le Gosier Challenger III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Montevideo Challenger Rennes Challenger Nielsen USTA Pro Tennis Championship - Winnetka Santiago Challenger Oldum Brown Vancouver Open - Vancouver Le Gosier Challenger GHI Bronx Tennis Classic - Bronx Barletta Challenger Tunis Challenger Braga Challenger St. Remy Challenger Ford Tennis Championships - Louisville Eckental Challenger Como Challenger Bucaramanga Challenger Genova Challenger Iquique Challenger Biella Challenger Campinas Challenger Santo Domingo Challenger Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Meerbusch Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Indian Wells Challenger Yokohama Challenger Sophia Antipolis Challenger Barletta Challenger Sarasota Challenger Francavilla Challenger Braga Challenger Heilbronn Challenger Lisbon Challenger Nur-Sultan Challenger Belgrade Challenger Tampere Challenger Sopot Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger San Marino Challenger Campinas Challenger Ann Arbor Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger M25 Vila Real de Santo Antonio Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Forli Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Verona Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Aix En Provence Challenger Forli 6 Challenger Perugia Challenger Lima Challenger Karshi Challenger Rio De Janeiro Challenger Las Vegas Challenger Montevideo Challenger Waco Challenger Puerto Vallarta Challenger Prague 1 Challenger Prague 2 Challenger Nottingham Challenger Manama Challenger Belem Challenger Naples Challenger Curitiba Challenger Heilbronn Challenger Girona Challenger Genova Challenger Mallorca Challenger Wroclaw Challenger Cherbourg Challenger Forli 4 Challenger Rome Challenger Bordeaux Challenger Poprad Tatry Challenger Milan Challenger Bordeaux Challenger Lima Challenger Bergamo Challenger Newport Beach Challenger Sao Leopoldo Challenger Canberra Challenger Monterrey Challenger Campinas Challenger Phoenix Challenger Montechiarugolo - Parma Challenger Las Franquesas del Valles Challenger Girona Challenger Lisbon Challenger Buenos Aires Challenger Santa Fe 2 Challenger Forli 5 Challenger Lima 2 Challenger Lisbon Challenger Estoril Open - Estoril Roseto Degli Abruzzi 2 Challenger Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Campinas Challenger Estoril Open - Estoril Indianapolis Tennis Championships - Indianapolis Pilot Pen Tennis - New Haven SAP Open - San Jose U.S. Mens's Clay Court Championship - Houston Estoril Open - Estoril Madrid Challenger Serbia Open - Belgrade Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Serbia Open - Belgrade Campbells Hall of Fame Tennis Championships - Newport If Stockholm Open - Stockholm Montevideo Challenger Estoril Open - Estoril Open de Nice Cote d'Azur - Nice VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Aircel Chennai Open - Chennai Montevideo Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Oeiras 1 Challenger Delray Beach International Tennis Championships - Delray Beach Lima 2 Challenger BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras BMW Open - Munich Szekesfehervar Challenger Zadar Challenger Oeiras 3 Challenger Poznan Challenger Porto Challenger Braunschweig Challenger Todi Challenger Qatar ExxonMobil Open - Doha Sibiu Challenger U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Oeiras 2 Challenger Tenerife 1 Challenger Portugal Open - Oeiras Mercedes Cup - Stuttgart Oeiras 4 Challenger Bet-at-home Open - Hamburg Seville Challenger Malaysian Open - Kuala Lumpur China Open - Beijing Kremlin Cup - Moscow Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Mercedes Cup - Stuttgart Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham BB&T Atlanta Open - Atlanta If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Millennium Estoril Open - Estoril Garanti Koza Sofia Open - Sofia Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Braga Challenger SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Garanti Koza Sofia Open - Sofia Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Oeiras 2 Challenger Tenerife 2 Challenger Lille Challenger Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Moselle Open - Metz Girona Challenger China Open - Beijing Kremlin Cup - Moscow Swiss Indoors Basel - Basel Open Sud de France - Montpellier Gazprom Hungarian Open - Budapest Millennium Estoril Open - Estoril Verona Challenger Porto 2 Challenger Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Erste Bank Open - Vienna bett1HULKS Indoors - Cologne Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade BMW Open - Munich Hamburg European Open - Hamburg Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel Sofia Open - Sofia Stockholm Open - Stockholm Erste Bank Open - Vienna Astana Open - Nur-Sultan Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade Millennium Estoril Open - Estoril cinch Championships - London Hamburg European Open - Hamburg Tata Open Maharashtra - Pune Open Sud de France - Montpellier Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Banja Luka Open - Banja Luka Braga Challenger Oeiras 5 Challenger Lyon Challenger Gonet Geneva Open - Geneva Open 13 Provence - Marseille Qatar ExxonMobil Open - Doha Kremlin Cup - Moscow Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Porto Challenger Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Sony Open Tennis - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Wimbledon - London U.S. Open - New York U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Rolex Paris Masters - Paris French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 ARAG ATP World Team Championship - Dusseldorf Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, World Group, 1R, SRB-SUI 2-3 Davis Cup, World Group, PO, IND-SRB 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, World Group, 1R, SRB-CRO 5-0 Davis Cup, World Group, QF, ARG-SRB 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, UZB-SRB 2-3 Davis Cup, Finals, Group A Davis Cup, Finals, QF, SRB-RUS 1-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Finals, Group F ATP Cup - Sydney Davis Cup, Group I, PO, POR-POL 4-0 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) Wimbledon (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments A Day At The Drive - Adelaide Olympics - Rio de Janeiro Oeiras 1 Challenger Koblenz Challenger Tenerife 3 Challenger Murcia Challenger Millennium Estoril Open - Estoril Madrid Challenger Francavilla Challenger French Open - Paris Zagreb Challenger Oeiras 4 Challenger Brasov Challenger U.S. Open - New York Milan Challenger Hamburg Open - Hamburg Seville Challenger Lisbon Challenger Braga Challenger Valencia Challenger Davis Cup, Group II, 3R, MDA-POR 2-3 Guayaquil Challenger Oeiras 3 Challenger Estoril Challenger French Open (juniors) Pozoblanco Challenger Porto Challenger